Advances in computer technology have made it economical for individual users to have their own computing system, which caused the proliferation of the Personal Computer (PC). Individual PC usage is very diversified, going from standard office operations or Internet surfing to high-quality video watching or gaming.
Continued advances of this computer technology make these personal computers more and more powerful, but also complex and difficult to manage. For this and other reasons, there is a growing interest to separate the user interface devices, including the display and keyboard, from the application processing parts of the computing system. In this remote case, the user interface devices are physically located at the desktop, while the processing and storage components of the computer are placed in a hosting location. The user interface devices are then connected to the processor and storage components of the host computer system, with some means of communication. This is the advent of cloud computing and “thin” or “zero” client concepts.
In any computing system configurations, either local or remote, users may need to capture the image displayed on a screen for further treatment (storing, streaming over a network, etc.). In such circumstances, the full integrity, high quality and low latency of the image is usually expected.
For instance, game players sometimes record their game sessions to be able to analyze it later and improve their game performance. Other players are streaming their sessions on a network, to broadcast their performance. In the professional world, it is sometimes necessary to provide remote control of a computer system for maintenance, and it is then useful to stream the displayed information to the remote machine.
Display data (i.e., the data stored in a computing resource of a computing system that represent the images displayed on the user screen) can be captured according to multiple different modes that have both advantages and drawbacks. Some display capturing modes are excellent in that they are close to zero latency, but they do not support images featuring 2D/3D objects or hardware-decoded video. Other capturing modes are adapted to such advanced images but require dedicated hardware or suffer from latency or reduced image quality.
In the known methods of extracting display data, the users are manually selecting the appropriate capture mode according to their specific circumstances. Users may have to switch manually from one mode to another depending on the applications they intend to run, the content of the displayed image, the performance of the computing system and the availability of certain peripherals of the computing system.